The present invention relates to steganography and more particularly to the detection of digital watermarks in images.
The technology for embedding digital watermarks in images is well known. Likewise, the technology for detecting and reading the data payload carried by digital watermarks is well known. Commercial systems are available for performing such operations.
Many watermarking systems redundantly embed the same watermark data in multiple regions of an image. Often watermarking systems embed data in images in a perceptually adaptive manner. That is, the amount of watermark signal in each region of an image is adjusted in accordance with the characteristics of the image in the particular region. The purpose of so adjusting the watermark signal is to insure that the watermark signal will not be visible to an ordinary viewer of the image. Since the strength of the watermark signal varies from region to region, the signal is more easily detected in some regions of an image than in other regions of the image.
Systems for detecting watermarks generally sequentially examine the various regions of an image, seeking to detect the watermark. The amount of computational resources available is generally limited and if a watermark is not detected in a region as a result of applying a certain amount of computational effort, the detection operation moves on to the next region of the image and the process is repeated.
The present invention detects the presence of a watermark in an image by using a multi-step process. First, the image is examined to determine which regions of the image have characteristics such that there is a high probability that a watermark signal can be detected in that region of the image. Next the regions that have a high probability that a watermark can be detected (in contrast to all regions of the image) are examined to find watermark data. In order to determine the probability of finding watermark data in a particular region of an image, the amount of xe2x80x9cvariancexe2x80x9d in the intensity of the pixels in the region is examined. For example a region that is entirely white or entirely black has zero variance. Such a region can not carry watermark data, hence regions with zero or low variance can be eliminated from further processing. Furthermore, if high variance in a region is a result of the fact that the region has an abrupt border or edge between two highly contrasting regions, the high variance does not indicate a high probability that a watermark signal will be detected in the region. Therefore, after regions with high variance are located, these regions are next examined to look for regions with edges between areas of different luminance which are spread over the entire region. The regions with the high variance and with edginess that is spread widely in the region are selected for further processing to detect watermark data.
For those regions selected for further processing, the detection process can be enhanced by filtering the data prior to applying a watermark detection program so as to increase the signal to noise ratio of the watermark signal. First a high pass filter (e.g. a Laplacian operator) is applied to each region. This filtering operation in effect establishes a new intensity value for each pixel in the region. Next a nonlinear operator (e.g. a signum function) is applied to the output from the first filter operation. The resulting data in each region is then processed in a normal manner to detect watermark data.